[Chapter 21] 21.4 How to Use nslookup
Author: Bryan Costales & Eric Allman
Date: 1999-01-06T19:28:29Z

#

| Chapter 21 DNS and sendmail |

## 21.4 How to Use nslookup

If your site is connected to the Internet, you can use the nslookup(1) program to interactively find MX and other records. To run nslookup, just type its name:

>     % nslookup

Note that you may have to give the full pathname. Under SunOS, nslookup lives in the /usr/etc directory; under Ultrix, in /usr/ucb; and under HP-UX, in /usr/bin.

Once nslookup is running, it prints the name of your default name server and the IP address for that machine, then a `>` character as a prompt and awaits input:

>     Server:  Your.Main.Server
>     Address:  123.45.67.8

>     >

To tell nslookup to look up only MX records, [14] use the set command:

> [14] Beginning with V8.7 sendmail, you can also use the `/mx` command in `-bt` rule-testing mode (see Section 38.5.2, "Look Up MX Records with /mx") to look up MX records.

>     > set type=mx
>     >

Now look up some real hosts and domains. First look up the domain sendmail.org by entering its name at the prompt:

>     > sendmail.org.

Note the trailing dot that tells nslookup(1) that the local, default domain should not be appended prior to the lookup. The output produced by the above lookup looks like this:

>     > sendmail.org.
>     Server:
>     Address:  123.45.67.8

>     sendmail.org    preference = 20, mail exchanger = mail1.reference.com
>     sendmail.org    preference = 30, mail exchanger = mail2.reference.com
>     sendmail.org    preference = 10, mail exchanger = knecht.oxford.reference.com
>     mail1.reference.com     inet address = 206.171.3.24
>     mail2.reference.com     inet address = 128.102.240.18
>     knecht.oxford.reference.com     inet address = 204.247.98.2
>     >

The first two lines again show the name and IP address of the local DNS server. The next three lines show that the domain `sendmail.org` has three MX records. Mail addressed to that domain is sent to the machine with the lowest preference (cost), which happens to be `knecht.oxford.reference.com`. [15] If that machine is down (or not accepting mail), the message is sent to the machine with the next higher cost, `mail1.reference.com`. The last three lines show the IP addresses (A records) for those machines.

> [15] Note that case is not significant in domain names; all of the following are the same: `org`, `OrG`, `ORG`.

Now look up a real UUCP host, lady. Enter its name as if it were a part of the icsi.berkeley.edu domain:

>     > lady.icsi.berkeley.edu.

The output produced shows that lady has an MX record:

>     lady.icsi.berkeley.edu   preference = 5, mail exchanger = icsib.ICSI.Berkeley.EDU
>     icsib.ICSI.Berkeley.EDU inet address = 128.32.201.15
>     >

Mail sent to `lady.icsi.berkeley.edu` is instead delivered to the machine named `icsib.ICSI.Berkeley.EDU`, which in turn forwards that mail over a dial-up line to the UUCP host lady.

Machines that have MX records do not necessarily have A records. The host lady is such a machine. You tell nslookup(1) to look up an A record with the set command:

>     > set type=a
>     > lady.berkeley.edu.

>     *** No address information available for lady.berkeley.edu.

The nslookup(1) program is a useful tool for performing all the same lookups that are done by sendmail. Each type of lookup corresponds to a `set type`. The list of some available nslookup(1) types is shown in Table 21.1.

Table 21.1: Some nslookup Types
Type | Description
--- | ---
a | IP address
cname | Canonical name for an alias
hinfo | Host CPU and operating system type
mx | Mail exchanger records
ns | Name server record
any | Union of all records

To exit nslookup(1), just type `exit` (or Control-D if that fails).

21.3 Set Up MX Records |  | 21.5 Prepare for Disaster